<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
        xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
        xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
        xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
        xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
        xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
        xmlns:xlink="http://www.w3.org/1999/xlink"
        xmlns:dc="http://purl.org/dc/elements/1.1/"
        xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
        xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
        xmlns:presentation="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0"
        xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
        xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0"
        xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"
        xmlns:math="http://www.w3.org/1998/Math/MathML"
        xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
        xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0"
        xmlns:ooo="http://openoffice.org/2004/office"
        xmlns:ooow="http://openoffice.org/2004/writer"
        xmlns:oooc="http://openoffice.org/2004/calc"
        xmlns:dom="http://www.w3.org/2001/xml-events"
        xmlns:xforms="http://www.w3.org/2002/xforms"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:smil="urn:oasis:names:tc:opendocument:xmlns:smil-compatible:1.0"
        xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0"
        xmlns:rpt="http://openoffice.org/2005/report"
        xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2"
        xmlns:xhtml="http://www.w3.org/1999/xhtml"
        xmlns:grddl="http://www.w3.org/2003/g/data-view#"
        xmlns:officeooo="http://openoffice.org/2009/office"
        xmlns:tableooo="http://openoffice.org/2009/table"
        xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0"
        xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
                exclude-result-prefixed="field formx tableooo officeooo grddl xhtml of rpt anim smil xsi xsd xforms dom oooc ooow script form math dr3d office style text table draw fo xlink dc meta number presentation svg chart" >

<xsl:output method="text" omit-xml-declaration="yes"/> 

     <xsl:template match="office:document-styles/office:styles">
		<xsl:apply-templates select="node()|@*">
        </xsl:apply-templates>
    </xsl:template>
    

     <xsl:template match="style:default-style">
     	<!--  nous avons défini dans notre fichier de conversion en html des attributs div, avec le nom de la famille de style comme valeur -->
        <xsl:value-of select="concat('.', @style:family)"/>
        <xsl:apply-templates select="style:text-properties" mode="style"/>
    </xsl:template>
    
    
    <!--  Pour chaque propriété, la structure est la même : on teste si la propriété existe -->
    <xsl:template match="style:text-properties" mode="style">       
        <xsl:variable name="family" select="@fo:font-family" />
        <xsl:variable name="size" select="@fo:font-size" />
        {   
			<xsl:variable name="car">'</xsl:variable>     
        	<!--  Si le test est réussi, on affecte la propriété en dur. -->  
        	<xsl:if test="boolean($family)">
            font-family:<xsl:value-of select="translate(@fo:font-family, $car, '')"/>;
            </xsl:if>
             <xsl:if test="boolean($size)">
            font-size:<xsl:value-of select='translate(@fo:font-size, "t", "x")'/>;
            </xsl:if>
        }
        
        
    </xsl:template>

     <xsl:template match="style:style">
        <xsl:variable name="iscomposed" select="substring-after(@style:name, '-')" />
        <xsl:variable name="text_style" select="style:text-properties" />
        <xsl:if test="$text_style != ' '">      
            <xsl:if test="boolean($iscomposed)">
            <xsl:value-of select="concat('.', substring-after(@style:name, '-'))"/><xsl:text>&#10;</xsl:text>
            </xsl:if>
            <xsl:if test="not(boolean($iscomposed))">
            <xsl:value-of select="concat('.', @style:name)"/><xsl:text>&#10;</xsl:text>
            </xsl:if>
            <xsl:apply-templates select="style:text-properties"/>       
        </xsl:if>
    </xsl:template>

     <xsl:template match="style:text-properties">
        <xsl:variable name="family" select="@fo:font-family" />
        <xsl:variable name="size" select="@fo:font-size" />
        <xsl:variable name="weight" select="@fo:font-weight"/>
        <xsl:variable name="color" select="@fo:color"/>
        <xsl:variable name="car">'</xsl:variable>
        {
        <xsl:if test="boolean($family)">
            font-family:<xsl:value-of select="substring-before(translate(@fo:font-family, $car, ''), ' ')"/>;
        </xsl:if>
        <xsl:if test="boolean($weight)">
            font-weight:<xsl:value-of select="@fo:font-weight"/>;
        </xsl:if>
        <xsl:if test="boolean($size)">
            font-size:<xsl:value-of select='translate(@fo:font-size, "t", "x")'/>;      
        </xsl:if>
        <xsl:if test="boolean($color)">
            color:<xsl:value-of select='@fo:color'/>;      
        </xsl:if>
        }
    </xsl:template>
  
<!--  On vire les automatiques -->
    <xsl:template match="office:document-styles/office:automatic-styles">
        <xsl:param name="auto_style_name">.automatic_styles</xsl:param>
    </xsl:template>

    
</xsl:stylesheet>

